import request from './request'

/**
 * 咨询师用户相关接口服务
 */
export default {
  /**
   * 获取咨询师列表或单个咨询师详情
   * @param {Object} params - 查询参数
   * @param {String} userId - 咨询师ID（可选）
   * @returns {Promise}
   */
  getCounselor(params = {}, userId = '') {
    return request({
      url: userId ? `/api/userCounselor/${userId}` : '/api/userCounselor',
      method: 'get',
      params
    })
  },

  /**
   * 创建咨询师
   * @param {Object} data - 咨询师数据
   * @param {Boolean} isBatch - 是否批量创建
   * @returns {Promise}
   */
  createCounselor(data, isBatch = false) {
    if (isBatch) {
      const formData = new FormData()
      formData.append('UserCounselorList', JSON.stringify(data))
      return request({
        url: '/api/userCounselor',
        method: 'post',
        data: formData,
        headers: {
          'Content-Type': 'multipart/form-data'
        }
      })
    }

    return request({
      url: '/api/userCounselor',
      method: 'post',
      data
    })
  },

  /**
   * 更新咨询师基本信息
   * @param {String} userId - 咨询师ID
   * @param {Object} data - 更新数据
   * @returns {Promise}
   */
  updateCounselor(userId, data) {
    return request({
      url: `/api/userCounselor/${userId}`,
      method: 'put',
      data
    })
  },

  /**
   * 更新咨询师敏感信息（性别、标签、推荐状态、删除状态）
   * @param {String} userId - 咨询师ID
   * @param {Object} data - 更新数据
   * @returns {Promise}
   */
  updateSensitiveInfo(userId, data) {
    return request({
      url: `/api/userCounselor/update/${userId}`,
      method: 'put',
      data
    })
  },

  /**
   * 删除咨询师
   * @param {String} userId - 咨询师ID
   * @returns {Promise}
   */
  deleteCounselor(userId) {
    return request({
      url: `/api/userCounselor/${userId}`,
      method: 'delete'
    })
  },

  /**
   * 咨询师登录
   * @param {Object} data - 登录信息
   * @param {String} data.account - 账号
   * @param {String} data.password - 密码
   * @returns {Promise}
   */
  login(data) {
    return request({
      url: '/api/userCounselor/login',
      method: 'post',
      data
    })
  }
}
